/**
 * Copyright phonemap.com
 *
 * Licensed under the phonemap.com License, Version 1.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.phonemap.com/licenses/LICENSE-1.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.avatar.entity;

import java.util.Date;

import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

/**
 * The Class Events.
 * 
 * @author Uy Phu
 */
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Event {

	/** The event id. */
	@PrimaryKey
	@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
	private Long eventId;

	/** The name. */
	@Persistent
	private String name;

	/** The details. */
	@Persistent
	private String details;

	/** The address. */
	@Persistent
	private String address;

	/** The lng. */
	@Persistent
	private double lng;

	/** The lat. */
	@Persistent
	private double lat;

	/** The start time. */
	@Persistent
	private Date startTime;

	/** The end time. */
	@Persistent
	private Date endTime;

	/** The create date. */
	@Persistent
	private Date createDate;

	/** The user id. */
	@Persistent
	private Long userId;

	/** The type id. */
	@Persistent
	private Long typeId;

	/**
	 * Instantiates a new events.
	 */
	public Event() {

	}

	/**
	 * Instantiates a new events.
	 * 
	 * @param eventId
	 *            the event id
	 * @param name
	 *            the name
	 * @param details
	 *            the details
	 * @param address
	 *            the address
	 * @param lng
	 *            the lng
	 * @param lat
	 *            the lat
	 * @param startTime
	 *            the start time
	 * @param endTime
	 *            the end time
	 * @param createDate
	 *            the create date
	 * @param userId
	 *            the user id
	 * @param typeId
	 *            the type id
	 */
	public Event(Long eventId, String name, String details, String address, double lng, double lat, Date startTime,
			Date endTime, Date createDate, Long userId, Long typeId) {
		this.eventId = eventId;
		this.name = name;
		this.details = details;
		this.address = address;
		this.lng = lng;
		this.lat = lat;
		this.startTime = startTime;
		this.endTime = endTime;
		this.createDate = createDate;
		this.userId = userId;
		this.typeId = typeId;
	}

	/**
	 * Gets the event id.
	 * 
	 * @return the event id
	 */
	public Long getEventId() {
		return this.eventId;
	}

	/**
	 * Sets the event id.
	 * 
	 * @param eventId
	 *            the new event id
	 */
	public void setEventId(Long eventId) {
		this.eventId = eventId;
	}

	/**
	 * Gets the name.
	 * 
	 * @return the name
	 */
	public String getName() {
		return this.name;
	}

	/**
	 * Sets the name.
	 * 
	 * @param name
	 *            the new name
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * Gets the details.
	 * 
	 * @return the details
	 */
	public String getDetails() {
		return this.details;
	}

	/**
	 * Sets the details.
	 * 
	 * @param details
	 *            the new details
	 */
	public void setDetails(String details) {
		this.details = details;
	}

	/**
	 * Gets the address.
	 * 
	 * @return the address
	 */
	public String getAddress() {
		return this.address;
	}

	/**
	 * Sets the address.
	 * 
	 * @param address
	 *            the new address
	 */
	public void setAddress(String address) {
		this.address = address;
	}

	/**
	 * Gets the lng.
	 * 
	 * @return the lng
	 */
	public double getLng() {
		return this.lng;
	}

	/**
	 * Sets the lng.
	 * 
	 * @param lng
	 *            the new lng
	 */
	public void setLng(double lng) {
		this.lng = lng;
	}

	/**
	 * Gets the lat.
	 * 
	 * @return the lat
	 */
	public double getLat() {
		return this.lat;
	}

	/**
	 * Sets the lat.
	 * 
	 * @param lat
	 *            the new lat
	 */
	public void setLat(double lat) {
		this.lat = lat;
	}

	/**
	 * Gets the start time.
	 * 
	 * @return the start time
	 */
	public Date getStartTime() {
		return this.startTime;
	}

	/**
	 * Sets the start time.
	 * 
	 * @param startTime
	 *            the new start time
	 */
	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}

	/**
	 * Gets the end time.
	 * 
	 * @return the end time
	 */
	public Date getEndTime() {
		return this.endTime;
	}

	/**
	 * Sets the end time.
	 * 
	 * @param endTime
	 *            the new end time
	 */
	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	/**
	 * Gets the creates the date.
	 * 
	 * @return the creates the date
	 */
	public Date getCreateDate() {
		return this.createDate;
	}

	/**
	 * Sets the creates the date.
	 * 
	 * @param createDate
	 *            the new creates the date
	 */
	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	/**
	 * Gets the user id.
	 * 
	 * @return the user id
	 */
	public Long getUserId() {
		return this.userId;
	}

	/**
	 * Sets the user id.
	 * 
	 * @param userId
	 *            the new user id
	 */
	public void setUserId(Long userId) {
		this.userId = userId;
	}

	/**
	 * Gets the type id.
	 * 
	 * @return the type id
	 */
	public Long getTypeId() {
		return this.typeId;
	}

	/**
	 * Sets the type id.
	 * 
	 * @param typeId
	 *            the new type id
	 */
	public void setTypeId(Long typeId) {
		this.typeId = typeId;
	}

}
